package com.dyb.comm.config;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;

@Data
@Accessors(chain = true)
@NoArgsConstructor
@AllArgsConstructor
public class WareParamDTO {


    /**
     * 任务id
     */
    private String jobId;

    /**
     * 流id
     */
    private String flowId;



    /**
     * 发起方的流程名称，用于参与节点展示
     */
    private String flowName;

    /**
     * 发起方的项目Id, 用于合作节点记录关联关系
     */
    private Long projectId;

    /**
     * 发起方的项目名称, 用于参与方展示
     */
    private String projectName;

    /**
     * 容器id
     */
    private String containerId;

    /**
     * 组件id: cn.fudata.LR
     */
    private String wareId;

    /**
     * 组件版本
     */
    private String wareVersion;

    /**
     * 组件类型
     */
    private String wareServerType;

    /**
     * 组件类型，0: 系统组件,1:算法组件
     */
    @Deprecated
    private Integer wareType;

    /**
     * 鉴权token
     */
    private String token;


    /**
     * 用户可修改的配置参数
     */
    private JSONObject settings;

    /**
     * 额外的信息
     */
    private JSONObject extra;

    /**
     * 文件目录
     */
    @JSONField(name = "outputDirectory")
    @JsonProperty("outputDirectory")
    private OutputDirectory outputDirectory;

    /**
     * 是否群发
     */
    private Boolean isMass = true;

    private String uid;
    /**
     * arbiter标识符 默认没有 0 1为有
     */
    private Integer isArbiter = 0;

    private Integer isAlgorithm = 0;
}
